This invention relates generally to devices for controlling a cursor on a display screen, also known as pointing devices. This invention relates more particularly to an optical pointing device with inertial properties.
The use of a hand operated pointing device for use with a computer and its display has become almost universal. By far the most popular of the various devices is the conventional (mechanical) mouse, used in conjunction with a cooperating mouse pad. Centrally located within the bottom surface of the mouse is a hole through which a portion of the underside of a rubber-surfaced steel ball extends. The mouse pad is typically a closed cell foam rubber pad covered with a suitable fabric. Low friction pads on the bottom surface of the mouse slide easily over the fabric, but the rubber ball does not skid. Rather, the rubber ball rolls over the fabric as the mouse is moved. Interior to the mouse are rollers, or wheels, that contact the ball at its equator and convert its rotation into electrical signals representing orthogonal components of mouse motion. These electrical signals are coupled to a computer, where software responds to the signals to change by a xcex94X and a xcex94Y the displayed position of a pointer (cursor) in accordance with movement of the mouse. The user moves the mouse as necessary to get the displayed pointer to a desired location or position. Once the pointer on the screen points at an object or location of interest, a button on the mouse is activated with the fingers of the hand holding the mouse. The activation serves as an instruction to take some action, the nature of which is defined by software in the computer.
A xe2x80x9ctrack ballxe2x80x9d is another example of a mechanical type of pointing device. A track ball is essentially an upside-down mouse. In a track ball, rather than sliding the device itself over a surface to produce pointer movement as in a mouse, a user directly contacts the mechanical ball with the user""s finger, and causes the ball to rotate. As with a mouse, the movement of the mechanical ball in a track ball generates a corresponding movement of the displayed pointer.
In a track ball, the mechanical ball can be xe2x80x9cflickedxe2x80x9d with the finger, and the ball will continue to rotate under its own momentum after the user""s finger is removed from the ball. The rotation continues until the user contacts the mechanical ball again, or until frictional forces eventually cause the ball to stop rotating. The inertial properties of a track ball that allow it to continue to generate pointer movement after the user stops contacting the mechanical ball result in good dynamic range. Small hand movements can result in large pointer movements. The inertial properties of a track ball are useful in some applications, such as game applications, where large and quick pointer movements are sometimes desirable. Some mechanical mouse devices may also provide inertial effects like a track ball. A mechanical mouse may be moved quickly over the mouse pad, and then lifted from the pad, allowing the ball to continue to rotate under its own momentum. Some mechanical mouse devices, however, cause the ball to immediately stop movement when the mouse is lifted from the mouse pad.
Optical pointing devices do not use a mechanical ball, or other similar moving mechanical element that has inertial properties. In one form of an optical pointing device, rather than using a moving mechanical element, relative movement between an imaging surface, such as a finger or a desktop, and photo detectors within the optical pointing device, is optically sensed and converted into movement information. It would be desirable in some applications for an optical pointing device to provide inertial effects, such as that provided by a track ball. It would also be desirable for an optical pointing device to have a velocity profile that is user definable.
The present invention provides an apparatus for controlling the position of a screen pointer for an electronic device having a display screen includes an imaging surface against which a portion of the tip of a human digit may be placed. A light source illuminates that portion of the tip of the digit that is placed against the imaging surface, thereby generating reflected images. The apparatus includes a motion transducer. A lens receives the reflected images and directs the reflected images onto the motion transducer. The motion transducer generates digital representations of the reflected images. The motion transducer generates a first set of movement data based on the digital representations of the reflected images. The first set of movement data is indicative of motion of the tip of the digit across the imaging surface. A controller generates a second set of movement data when the tip of the human digit is removed from the imaging surface. The second set of movement data is indicative of motion of the tip of the digit across the imaging surface prior to removal of the tip.
One aspect of the present invention provides a method of controlling the position of a screen pointer for an electronic device having a screen display. A portion of an appendage of the human hand is placed against an imaging surface. Light is directed onto the imaging surface to illuminate that portion of the appendage that is against the imaging surface. Images reflected from the portion of the appendage are focused onto an array of photo detectors. Output values of the photo detectors are digitized, thereby generating digital representations of the reflected images. At least one version of a first one of the digital representations is correlated with at least one version of a second one of the digital representations to generate a first set of motion data indicative of motion in orthogonal axes across the imaging surface by the appendage. The position of the screen pointer is adjusted in accordance with the first set of motion data. A second set of motion data is generated based on at least a subset of the first set of motion data after the appendage is removed from the imaging surface. The position of the screen pointer is adjusted in accordance with the second set of motion data after the appendage is removed from the imaging surface.
Another form of the present invention provides a method of controlling the position of a screen pointer for an electronic device having a screen display. Light is directed onto a work surface, thereby generating reflected images. Reflected images are focused onto an array of photo detectors. The array of photo detectors is moved relative to the work surface at a substantially constant distance from the work surface. Digital representations of the reflected images are generated based on outputs of the photo detectors. At least one version of a first one of the digital representations is correlated with at least one version of a second one of the digital representations to generate a first set of motion data indicative of the motion of the array of photo detectors relative to the work surface. The position of the screen pointer is adjusted in accordance with the first set of motion data. A second set of motion data is generated based on at least a subset of the first set of motion data when the array of photo detectors is lifted from the work surface beyond the substantially constant distance. The position of the screen pointer is adjusted in accordance with the second set of motion data.
Another form of the present invention provides an apparatus for controlling the position of a screen pointer for an electronic device having a display screen. A light source illuminates a work surface, thereby generating reflected images. A motion transducer is moved relative to the work surface at a substantially constant distance from the work surface. A lens receives the reflected images and directs the reflected images onto the motion transducer. The motion transducer generates digital representations of the reflected images. The motion transducer generates a first set of movement data based on the digital representations of the reflected images. The first set of movement data is indicative of motion of the motion transducer relative to the work surface. A controller generates a second set of movement data when the motion transducer is lifted past the substantially constant distance from the work surface. The second set of movement data is indicative of motion of the motion transducer relative to the work surface prior to the motion transducer being lifted past the substantially constant distance.
Another form of the present invention provides a computer-readable medium having computer-executable instructions for performing a method of generating movement data for controlling the position of a screen pointer for an electronic device having a screen display and an optical pointing device. The optical pointing device generates movement data when in contact with an imaging surface. The movement data is indicative of relative movement between the imaging surface and the optical pointing device. The method includes identifying when a loss of contact occurs between the optical pointing device and the imaging surface. A first set of movement data is identified. The first set of movement data is indicative of the relative movement between the imaging surface and the optical pointing device prior to the loss of contact. A second set of movement data is generated based on the first set of movement data when a loss of contact occurs between the optical pointing device and the imaging surface. The second set of movement data causes a gradual decrease in a velocity of the screen pointer.